Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix parsing of huge OpenQASM 2 conditionals (backport #12774) #12853

Merged
merged 1 commit into from
Jul 30, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jul 30, 2024

Summary

We fixed handling of giant integers in gate expression positions gh-12140, and this commit fixes the handling in conditionals. Unfortunately, this means pulling in big-int handling properly; the integers simply are bigints, and we're not immediately converting them into something else.

The need to support this may influence how the Rust-space data models of QuantumCircuit evolve.

Details and comments

Fix #12773


This is an automatic backport of pull request #12774 done by [Mergify](https://mergify.com).

@mergify mergify bot requested a review from a team as a code owner July 30, 2024 14:20
@mergify mergify bot added the conflicts used by mergify when there are conflicts in a port label Jul 30, 2024
Copy link
Contributor Author

mergify bot commented Jul 30, 2024

Cherry-pick of 85f9860 has failed:

On branch mergify/bp/stable/1.1/pr-12774
Your branch is up to date with 'origin/stable/1.1'.

You are currently cherry-picking commit 85f98605a.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   Cargo.lock
	modified:   crates/qasm2/Cargo.toml
	modified:   crates/qasm2/src/bytecode.rs
	modified:   crates/qasm2/src/lex.rs
	modified:   crates/qasm2/src/parse.rs
	new file:   releasenotes/notes/qasm2-big-condition-cfd203d53540d4ca.yaml
	modified:   test/python/qasm2/test_structure.py

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   Cargo.toml
	both modified:   crates/accelerate/Cargo.toml

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@qiskit-bot
Copy link
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the following people are relevant to this code:

  • @Qiskit/terra-core
  • @kevinhartman
  • @mtreinish

@github-actions github-actions bot added priority: high Changelog: Bugfix Include in the "Fixed" section of the changelog mod: qasm2 Relating to OpenQASM 2 import or export labels Jul 30, 2024
@github-actions github-actions bot added this to the 1.1.2 milestone Jul 30, 2024
* Fix parsing of huge OpenQASM 2 conditionals

We fixed handling of giant integers in gate expression positions
gh-12140, and this commit fixes the handling in conditionals.
Unfortunately, this means pulling in big-int handling properly; the
integers simply _are_ bigints, and we're not immediately converting them
into something else.

The need to support this may influence how the Rust-space data models of
`QuantumCircuit` evolve.

* Move `num-bigint` dependency to workspace

(cherry picked from commit 85f9860)
@jakelishman jakelishman force-pushed the mergify/bp/stable/1.1/pr-12774 branch from 2287ec9 to 89aceef Compare July 30, 2024 16:46
@jakelishman jakelishman removed the conflicts used by mergify when there are conflicts in a port label Jul 30, 2024
@coveralls
Copy link

Pull Request Test Coverage Report for Build 10166422540

Details

  • 12 of 13 (92.31%) changed or added relevant lines in 2 files are covered.
  • 4 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+0.02%) to 89.967%

Changes Missing Coverage Covered Lines Changed/Added Lines %
crates/qasm2/src/lex.rs 5 6 83.33%
Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/lex.rs 4 92.73%
Totals Coverage Status
Change from base Build 10152041064: 0.02%
Covered Lines: 61875
Relevant Lines: 68775

💛 - Coveralls

@jakelishman jakelishman added this pull request to the merge queue Jul 30, 2024
Merged via the queue into stable/1.1 with commit 89069bb Jul 30, 2024
17 checks passed
@mergify mergify bot deleted the mergify/bp/stable/1.1/pr-12774 branch July 30, 2024 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: Bugfix Include in the "Fixed" section of the changelog mod: qasm2 Relating to OpenQASM 2 import or export priority: high
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants